package siar.web.managedbeans;

import java.rmi.Naming;
import java.util.ArrayList;
import java.util.List;

import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import siar.webservice.Bebida;
import siar.webservice.BebidaBean;
import siar.webservice.Pedido;
import siar.webservice.Pessoa;
import siar.webservice.PessoaBean;
import siar.webservice.Prato;
import siar.webservice.PratoBean;
import siar.webservice.ServicosSIARSoap;
import siar.webservice.Venda;

public class CarrinhoDeComprasMB {
	private List<PratoBean> pratos;
	private List<BebidaBean> bebidas;
	private PratoBean prato;
	private BebidaBean bebida;
	private int cont;

	
	public int getCont() {
		return cont;
	}
	public CarrinhoDeComprasMB() {
		super();
		this.pratos = new ArrayList<PratoBean>();
		this.bebidas = new ArrayList<BebidaBean>();
		cont = 0;
	}

	public String fecharPedido(){
		/*try {
			ServicosSIARSoap ws = (ServicosSIARSoap) Naming.lookup("rmi://localhost/servicosSIAR");
			HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
			PessoaBean usuario = (PessoaBean) session.getAttribute("usuario");
			for(Prato prato : this.pratos){
				
				Pedido ped = new Pedido();
				ped.setPrato(prato);
				ped.setID_Cliente(usuario.getId());
				ws.pedidoCadastrar(ped);
			}
			for(Bebida bebida : this.bebidas){
				Pedido ped = new Pedido();
				ped.setBebida(bebida);
				ped.setID_Cliente(usuario.getId());
				ws.pedidoCadastrar(ped);
			}
			Pessoa p = new Pessoa();
			p.setID(usuario.getId());
			p.setCPF(usuario.getCPF());
			p.setLogin(usuario.getLogin());
			p.setNome(usuario.getNome());
			p.setID_Tipo(usuario.getId_Tipo());
			p.setSenha(usuario.getSenha());
			p.setTelefone(usuario.getTelefone());
			Venda venda = new Venda();
			venda.setPessoa(p);
			venda.setEstado("Em andamento");
			venda.setID_Cliente(usuario.getId());
			ws.vendaCadastrar(venda);
		} catch (Exception e) {
			e.printStackTrace();
		}*/
		return "ok";
	}
	
	public PratoBean getPrato() {
		return prato;
	}
	public void setPrato(PratoBean prato) {
		this.prato = prato;
	}
	public BebidaBean getBebida() {
		return bebida;
	}
	public void setBebida(BebidaBean bebida) {
		this.bebida = bebida;
	}
	
	public List<PratoBean> getPratos() {
		return pratos;
	}
	public List<BebidaBean> getBebidas() {
		return bebidas;
	}

	public String removePrato() {
		pratos.remove(prato);
		this.cont--;
		return "";
	}

	public String removeBebida() {
		bebidas.remove(bebida);
		this.cont--;
		return "";
	}
	public String addPrato() {	
		pratos.add(prato);
		this.cont++;
		return "";
	}

	public String addBebida() {
		bebidas.add(bebida);
		this.cont++;
		return "";
	}
}
